/**
 * 应用于elementUI表单验证通用自定义规则
 * @param {*} s
 */
export function validator(reg, msg) {
  let fun = (rule, value, callback) => {
    if (reg.test(value)) {
      callback()
    } else {
      callback(new Error(msg))
    }
  }
  return fun
}

export function checkBoolNum(msg) {
  let fun = (rule, value, callback) => {
    if (value !== '') {
      if (value >= 0) {
        callback()
      } else {
        callback(new Error(msg))
      }
    } else {
      callback(new Error(msg))
    }
  }
  return fun
}

/**
 *判断是否空格
 * @param {*} s
 */
export function isEmpty(msg) {
  return (rule, value, callback) => {
    if (!value.trim().length) {
      callback(new Error(msg))
    } else {
      callback()
    }
  }
}

/**
 * 邮箱
 * @param {*} s
 */
export function isEmail(s) {
  return /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((.[a-zA-Z0-9_-]{2,3}){1,2})$/.test(s)
}

/**
 * 手机号码
 * @param {*} s
 */
export function isMobile(s) {
  return /^1[0-9]{10}$/.test(s)
}

/**
 * 电话号码
 * @param {*} s
 */
export function isPhone(s) {
  return /^([0-9]{3,4}-)?[0-9]{7,8}$/.test(s)
}

/**
 * URL地址
 * @param {*} s
 */
export function isURL(s) {
  return /^http[s]?:\/\/.*/.test(s)
}

/**
 * 是否0或1
 * @param {*} s
 */
export function isBoolNum(s) {
  return /^[0-1]$/.test(s)
}
